/* Copyright ©, 2022, ECARX (Hubei) Technology Co., Ltd. All rights reserved.
 *
 * NOTICE: This file contains information which is confidential and proprietary to ECARX
 * (Hubei) Technology Co., Ltd. and/or other developers. No license to any intellectual
 * property rights contained within this file is either granted or implied except as may be
 * provided in an agreement with ECARX (Hubei) Technology Co., Ltd.
 *
 * Any unauthorized copying or distribution of content from this file in whole or in part
 * is prohibited.
 */
/**
 * ****************************************
 * NOTE : DO NOT EDIT THIS FILE
 *        AUTO GEN BY PYTHON SCRIPT 
 * ****************************************
 */
#pragma once

#include <cstdint>
#include <array>
#include <string>
#include <memory>
#include <transfer/ITransfer.h>

#include "ap/APCP_signal_id.h"

#include "cp/Normal.h"
#include "cp/TimeSync.h"
#include "cp/AVAS.h"
#include "cp/HostInfo.h"
#include "cp/Power.h"

typedef OpStatus2CpNormal_SetRequestNoReturn Status2CpNormal;
typedef OpTmprUnit_SetRequestNoReturn TmprUnit;
typedef OpLangType_SetRequestNoReturn LangType;
typedef OpMileUnit_SetRequestNoReturn MileUnit;
typedef OpSpdUnit_SetRequestNoReturn SpdUnit;
typedef OpEgyFulUnit_SetRequestNoReturn EgyFulUnit;
typedef OpTripRstReq_SetRequestNoReturn TripRstReq;
typedef OpTripAutoRstMode_SetRequestNoReturn TripAutoRstMode;
typedef OpDrivingModeSync_SetRequestNoReturn DrivingModeSync;
typedef OpWheelAngleAlarmSwitch_SetRequestNoReturn WheelAngleAlarmSwitch;
typedef OpOverSpeedAlarmSwitch_SetRequestNoReturn OverSpeedAlarmSwitch;
typedef OpRearMirrorSelect_SetRequestNoReturn RearMirrorSelect;
typedef OpDrvrPfmncAlrmSync_SetRequestNoReturn DrvrPfmncAlrmSync;
typedef OpTripEduDisMode_SetRequestNoReturn TripEduDisMode;
typedef OpWheelKeyModeReq_SetRequestNoReturn WheelKeyModeReq;
typedef OpDrivingModeSync2_SetRequestNoReturn DrivingModeSync2;
typedef OpTimeFormatTime_SetRequestNoReturn TimeFormatTime;
typedef OpTimeFormatDate_SetRequestNoReturn TimeFormatDate;
typedef OpTirePressureUnit_SetRequestNoReturn TirePressureUnit;
typedef OpDstShoUnit_SetRequestNoReturn DstShoUnit;
typedef OpSetVolUnit_SetRequestNoReturn SetVolUnit;
typedef OpHmiAutoShowMod_SetRequestNoReturn HmiAutoShowMod;
typedef OpMediaPlayInfoSync_SetRequestNoReturn MediaPlayInfoSync;
typedef OpMediaStatusInfoSync_SetRequestNoReturn MediaStatusInfoSync;
typedef OpVolChangeSync_SetRequestNoReturn VolChangeSync;
typedef OpBTCallInfoSync_SetRequestNoReturn BTCallInfoSync;
typedef OpNavTBTInfoSync_SetRequestNoReturn NavTBTInfoSync;
typedef OpNavLaneInfoSync_SetRequestNoReturn NavLaneInfoSync;
typedef OpNavETAInfoSync_SetRequestNoReturn NavETAInfoSync;
typedef OpNavTBTNextInfoSync_SetRequestNoReturn NavTBTNextInfoSync;
typedef OpMediaCoverPackSync_SetRequestNoReturn MediaCoverPackSync;
typedef OpDIMViewSet_SetRequestNoReturn DIMViewSet;
typedef OpHmiThemeModReq_SetRequestNoReturn HmiThemeModReq;
typedef OpIntrBriStst2DIM_SetRequestNoReturn IntrBriStst2DIM;
typedef OpCustomKeyAction2DIM_SetRequestNoReturn CustomKeyAction2DIM;
typedef OpSoundVolLvlSet_SetRequestNoReturn SoundVolLvlSet;
typedef OpFaceRecIndcrFromDHU_SetRequestNoReturn FaceRecIndcrFromDHU;
typedef OpBTCallCoverSync_SetRequestNoReturn BTCallCoverSync;
typedef OpHmiThemeStyleSync_SetRequestNoReturn HmiThemeStyleSync;
typedef OpOverSpeedAlarmInfo_SetRequestNoReturn OverSpeedAlarmInfo;
typedef OpPwrSldgDoorStrgMusicSet_SetRequestNoReturn PwrSldgDoorStrgMusicSet;
typedef OpPwrSldgDoorStrgMusicTpeReq_SetRequestNoReturn PwrSldgDoorStrgMusicTpeReq;
typedef OpSeScrShrCmd_SetRequestNoReturn SeScrShrCmd;
typedef OpSnsrDrvrPfmncStsToDim_SetRequestNoReturn SnsrDrvrPfmncStsToDim;
typedef OpResChrgStrTiSync_SetRequestNoReturn ResChrgStrTiSync;
typedef OpWirelsDevLostWarnSts_SetRequestNoReturn WirelsDevLostWarnSts;
typedef OpSeScrShrBriSts_SetRequestNoReturn SeScrShrBriSts;
typedef OpAvasVolSwitchToDim_SetRequestNoReturn AvasVolSwitchToDim;
typedef OpAutoTimeEngineSync_SetRequestNoReturn AutoTimeEngineSync;
typedef OpHudDispActvReq_SetRequestNoReturn HudDispActvReq;
typedef OpHudSnowModeReq_SetRequestNoReturn HudSnowModeReq;
typedef OpSetHUDARSwitch_SetRequestNoReturn SetHUDARSwitch;
typedef OpGlbRstForSetgAndData_SetRequestNoReturn GlbRstForSetgAndData;
typedef OpDriftModOnOff_SetRequestNoReturn DriftModOnOff;
typedef OpHudPrefInfoSet_SetRequestNoReturn HudPrefInfoSet;
typedef OpCpNormalStatus_Notify CpNormalStatus;
typedef OpOdoInfo_Notify OdoInfo;
typedef OpTrip1Mileage_Notify Trip1Mileage;
typedef OpTrip1EgyUse_Notify Trip1EgyUse;
typedef OpTrip1EgyRec_Notify Trip1EgyRec;
typedef OpTrip1AVS_Notify Trip1AVS;
typedef OpTrip1EDT_Notify Trip1EDT;
typedef OpTrip2Mileage_Notify Trip2Mileage;
typedef OpTrip2EgyUse_Notify Trip2EgyUse;
typedef OpTrip2EgyRec_Notify Trip2EgyRec;
typedef OpTrip2AVS_Notify Trip2AVS;
typedef OpTrip2EDT_Notify Trip2EDT;
typedef OpLeFrntTireMsgPSync_Notify LeFrntTireMsgPSync;
typedef OpRiFrntTireMsgPSync_Notify RiFrntTireMsgPSync;
typedef OpLeReTireMsgPSync_Notify LeReTireMsgPSync;
typedef OpRiReTireMsgPSync_Notify RiReTireMsgPSync;
typedef OpLeFrntTireMsgTSync_Notify LeFrntTireMsgTSync;
typedef OpRiFrntTireMsgTSync_Notify RiFrntTireMsgTSync;
typedef OpLeReTireMsgTSync_Notify LeReTireMsgTSync;
typedef OpRiReTireMsgTSync_Notify RiReTireMsgTSync;
typedef OpLeFrntTireSymbolSync_Notify LeFrntTireSymbolSync;
typedef OpRiFrntTireSymbolSync_Notify RiFrntTireSymbolSync;
typedef OpLeReTireSymbolSync_Notify LeReTireSymbolSync;
typedef OpRiReTireSymbolSync_Notify RiReTireSymbolSync;
typedef OpWheelKeyEventAdas_Notify WheelKeyEventAdas;
typedef OpWheelKeyEventUser_Notify WheelKeyEventUser;
typedef OpWheelKeyModeSync_Notify WheelKeyModeSync;
typedef OpDTEChrgInfo_Notify DTEChrgInfo;
typedef OpVehSpdIndcdInfo_Notify VehSpdIndcdInfo;
typedef OpDTEFuelInfo_Notify DTEFuelInfo;
typedef OpSoundVolLvl_Notify SoundVolLvl;
typedef OpCPLogSync_Notify CPLogSync;
typedef OpDTEInfo_Notify DTEInfo;
typedef OpChrgRemainPercent_Notify ChrgRemainPercent;
typedef OpFuelRemainPercent_Notify FuelRemainPercent;
typedef OpTrip1AFC_Notify Trip1AFC;
typedef OpTrip1AEC_Notify Trip1AEC;
typedef OpTrip2AFC_Notify Trip2AFC;
typedef OpTrip2AEC_Notify Trip2AEC;
typedef OpSeScrShrRps_Notify SeScrShrRps;
typedef OpACCICCSts_Notify ACCICCSts;
typedef OpDIMViewSts_Notify DIMViewSts;
typedef OpODO200mElcUse_Notify ODO200mElcUse;
typedef OpODO200mFueUse_Notify ODO200mFueUse;
typedef OpNavActvMenuReqSync_Notify NavActvMenuReqSync;
typedef OpAD_Timegap_Notify AD_Timegap;
typedef OpAD_AdjustTimeGap_Notify AD_AdjustTimeGap;
typedef OpAD_LongitudinalStatus_Lamp_Notify AD_LongitudinalStatus_Lamp;
typedef OpAD_Longitudina_AdjustSetSpeed_Notify AD_Longitudina_AdjustSetSpeed;
typedef OpAD_AdasTTPa_Notify AD_AdasTTPa;
typedef OpAD_PA_ADAS_TSI_Notify AD_PA_ADAS_TSI;
typedef OpAD_PA_MovObject_N_Notify AD_PA_MovObject_N;
typedef OpAD_PA_StaObject_N_Notify AD_PA_StaObject_N;
typedef OpAD_PA_ADAS_Line_Notify AD_PA_ADAS_Line;
typedef OpAD_PA_ADAS_Line_Func_Notify AD_PA_ADAS_Line_Func;
typedef OpAD_PA_ADAS_FCTA_Notify AD_PA_ADAS_FCTA;
typedef OpAD_PA_ADAS_RCW_Notify AD_PA_ADAS_RCW;
typedef OpAD_PA_StopLine_Notify AD_PA_StopLine;
typedef OpAD_PA_CrossWalkDisp_Notify AD_PA_CrossWalkDisp;
typedef OpAD_PA_ADAS_Arrow_Notify AD_PA_ADAS_Arrow;
typedef OpAD_PA_ADAS_LineRamp_Notify AD_PA_ADAS_LineRamp;
typedef OpAD_PA_TLA_LAMP_Notify AD_PA_TLA_LAMP;
typedef OpAD_PA_ADAS_DOW_Notify AD_PA_ADAS_DOW;
typedef OpAD_PA_BoundaryWarn_Notify AD_PA_BoundaryWarn;
typedef OpAD_PA_LCAleft_animation_Notify AD_PA_LCAleft_animation;
typedef OpAD_PA_LCAright_animation_Notify AD_PA_LCAright_animation;
typedef OpAD_PA_LaneChangeDisp_Notify AD_PA_LaneChangeDisp;
typedef OpAD_PA_VehiclePathDisp_Notify AD_PA_VehiclePathDisp;
typedef OpAD_PA_G_pilot_DIMLightDisp_Notify AD_PA_G_pilot_DIMLightDisp;
typedef OpAD_PA_SC_Override_Notify AD_PA_SC_Override;
typedef OpAD_PA_LateralOffsetDisp_Notify AD_PA_LateralOffsetDisp;
typedef OpAD_PA_ADAS_Tunnel_Notify AD_PA_ADAS_Tunnel;
typedef OpAD_PA_TLA_LeftLAMP_Notify AD_PA_TLA_LeftLAMP;
typedef OpAD_PA_TLA_RightLAMP_Notify AD_PA_TLA_RightLAMP;
typedef OpAD_PA_VehiclePathDisp_Func_Notify AD_PA_VehiclePathDisp_Func;
typedef OpMaintainInfoSync_Notify MaintainInfoSync;
typedef OpFaultAlarmNofitfy_Notify FaultAlarmNofitfy;
typedef OpHudActvStatus_Notify HudActvStatus;
typedef OpHudSnowModeSts_Notify HudSnowModeSts;
typedef OpTrip3Mileage_Notify Trip3Mileage;
typedef OpTrip3AVS_Notify Trip3AVS;
typedef OpTrip3EDT_Notify Trip3EDT;
typedef OpTrip3AFC_Notify Trip3AFC;
typedef OpTrip3AEC_Notify Trip3AEC;
typedef OpTrip0AEC_Notify Trip0AEC;
typedef OpTripIEC_Notify TripIEC;
typedef OpDispTypOfElecDstToEmpty_Notify DispTypOfElecDstToEmpty;
typedef OpStatus2CpTimeSync_SetRequestNoReturn Status2CpTimeSync;
typedef OpTimeSync_SetRequestNoReturn TimeSync;
typedef OpCpTimeSyncStatus_Notify CpTimeSyncStatus;
typedef OpStatus2CpAVAS_SetRequestNoReturn Status2CpAVAS;
typedef OpAvasVolSwitch_SetRequestNoReturn AvasVolSwitch;
typedef OpAvasVolTypeSync_SetRequestNoReturn AvasVolTypeSync;
typedef OpAvasDiagnosisReq_SetRequestNoReturn AvasDiagnosisReq;
typedef OpCpAVASStatus_Notify CpAVASStatus;
typedef OpAvasDiagnosisSts_Notify AvasDiagnosisSts;
typedef OpStatus2CpHostInfo_SetRequestNoReturn Status2CpHostInfo;
typedef OpSendDIDD0D0_SetRequestNoReturn SendDIDD0D0;
typedef OpSendDIDD0D1_SetRequestNoReturn SendDIDD0D1;
typedef OpSendDIDC012_SetRequestNoReturn SendDIDC012;
typedef OpSendDIDD089_SetRequestNoReturn SendDIDD089;
typedef OpSendDIDD07F_SetRequestNoReturn SendDIDD07F;
typedef OpCSDTvalue_Notify CSDTvalue;
typedef OpDIDD0D0_Notify DIDD0D0;
typedef OpDIDD0D1_Notify DIDD0D1;
typedef OpDIDD089_Notify DIDD089;
typedef OpDIDC006_Notify DIDC006;
typedef OpDIDD07F_Notify DIDD07F;
typedef OpStatus2CpPower_SetRequestNoReturn Status2CpPower;
typedef OpGameStartRequest_SetRequestNoReturn GameStartRequest;
typedef OpStatusRequest2Ap_Notify StatusRequest2Ap;

namespace ecarx::transfer {

    class APCPSignalManager {
    protected:
        std::shared_ptr<ITransfer> mAPCPConn;
    public:
        APCPSignalManager(std::shared_ptr<ITransfer> conn) : mAPCPConn(conn) {

        }

        bool isAPCPReady() const;

        /**
        * Ap通知CP Normal模块
        * Ap侧启动状态
        * 可填入独立请求Opcode，AP侧接收返回
        * @param value sdb::ApStatus
        */
        void setStatus2CpNormal(sdb::ApStatus value) const;

        /**
        * Ap向Cp同步温度单位
        * @param value sdb::TmprUnit
        */
        void setTmprUnit(sdb::TmprUnit value) const;

        /**
        * Ap向Cp同步语言类型
        * @param value sdb::LangType
        */
        void setLangType(sdb::LangType value) const;

        /**
        * Ap向Cp同步里程单位/关联电耗单位
        * @param value sdb::TripMileUnit
        */
        void setMileUnit(sdb::TripMileUnit value) const;

        /**
        * Ap向Cp同步速度单位
        * @param value sdb::TripSpdUnit
        */
        void setSpdUnit(sdb::TripSpdUnit value) const;

        /**
        * Ap向Cp同步油耗单位
        * @param value sdb::TripEgyFulUnit
        */
        void setEgyFulUnit(sdb::TripEgyFulUnit value) const;

        /**
        * 请求CP重置行程数据
        * @param value sdb::TripRstReq
        */
        void setTripRstReq(sdb::TripRstReq value) const;

        /**
        * 请求CP设置自动重置类型
        * @param value sdb::TripAutoRstMode
        */
        void setTripAutoRstMode(sdb::TripAutoRstMode value) const;

        /**
        * 通知CP驾驶模式变化
        * @param value sdb::DrvModReqType2IHU
        */
        void setDrivingModeSync(sdb::DrvModReqType2IHU value) const;

        /**
        * 请求方向盘角度报警功能开关
        * @param value sdb::OnOff1
        */
        void setWheelAngleAlarmSwitch(uint8_t onoff1) const;

        /**
        * 请求车速报警功能开关
        * @param value sdb::OnOff1
        */
        void setOverSpeedAlarmSwitch(uint8_t onoff1) const;

        /**
        * 请求选中后视镜
        * @param value sdb::MirrorSelect
        */
        void setRearMirrorSelect(sdb::MirrorSelect value) const;

        /**
        * 同步疲劳驾驶状态至CP
        * @param value sdb::DrvrPfmncWarnReq
        */
        void setDrvrPfmncAlrmSync(uint8_t drvrpfmncwarnreq) const;

        /**
        * 请求续航显示模式
        * @param value sdb::TripEduDisModeReq
        */
        void setTripEduDisMode(sdb::TripEduDisModeReq value) const;

        /**
        * 请求仪表切换按键控制权
        * @param value sdb::WheelModeReq
        */
        void setWheelKeyModeReq(sdb::WheelModeReq value) const;

        /**
        * 通知CP驾驶模式变化，额外需求 (自定义驾驶模式)
        * @param value sdb::DrvModReqType2IHU
        */
        void setDrivingModeSync2(sdb::DrvModReqType2IHU value) const;

        /**
        * 同步时间制式格式仪表
        * @param value sdb::TimeFormat
        */
        void setTimeFormatTime(sdb::TimeFormat value) const;

        /**
        * 同步时间显示格式仪表
        * @param value sdb::TimeDate
        */
        void setTimeFormatDate(sdb::TimeDate value) const;

        /**
        * 同步胎压单位至仪表侧
        * @param value sdb::TriePUnit
        */
        void setTirePressureUnit(sdb::TriePUnit value) const;

        /**
        * 设置短距离单位
        * @param value sdb::DstShoUnit
        */
        void setDstShoUnit(sdb::DstShoUnit value) const;

        /**
        * 设置油耗相关单位
        * @param value sdb::VolUnit
        */
        void setSetVolUnit(uint8_t volunit) const;

        /**
        * 设置展会模式
        * @param value sdb::OnOff1
        */
        void setHmiAutoShowMod(uint8_t onoff1) const;

        /**
        * 同步媒体播放信息
        * @param value MediaPlayInfoSync
        */
        void setMediaPlayInfoSync(MediaPlayInfoSync value) const;

        /**
        * 同步媒体播放状态
        * @param value MediaStatusInfoSync
        */
        void setMediaStatusInfoSync(MediaStatusInfoSync value) const;

        /**
        * 同步音量变化状态至仪表
        * @param value VolChangeSync
        */
        void setVolChangeSync(VolChangeSync value) const;

        /**
        * 同步蓝牙通话信息数据
        * @param value BTCallInfoSync
        */
        void setBTCallInfoSync(BTCallInfoSync value) const;

        /**
        * TBT转向数据
        * @param value NavTBTInfoSync
        */
        void setNavTBTInfoSync(NavTBTInfoSync value) const;

        /**
        * 导航车道信息
        * @param value NavLaneInfoSync
        */
        void setNavLaneInfoSync(NavLaneInfoSync value) const;

        /**
        * 导航剩余距离/时间数据
        * @param value NavETAInfoSync
        */
        void setNavETAInfoSync(NavETAInfoSync value) const;

        /**
        * 导航TBT引导点随后下个路口信息
        * @param value NavTBTNextInfoSync
        */
        void setNavTBTNextInfoSync(NavTBTNextInfoSync value) const;

        /**
        * 媒体封面数据包
        * @param value MediaCoverPackSync
        */
        void setMediaCoverPackSync(MediaCoverPackSync value) const;

        /**
        * 设置仪表视图模式
        * @param value sdb::DIMViewType
        */
        void setDIMViewSet(sdb::DIMViewType value) const;

        /**
        * 显示模式：深色/浅色/自动(时光引擎)
        * @param value sdb::ThemeMod
        */
        void setHmiThemeModReq(sdb::ThemeMod value) const;

        /**
        * 同步亮度等级至仪表
        * @param value sdb::CSDBritLvl
        */
        void setIntrBriStst2DIM(sdb::CSDBritLvl value) const;

        /**
        * CSD自定义按键触发类型
        * @param value sdb::CustomKeyAction
        */
        void setCustomKeyAction2DIM(sdb::CustomKeyAction value) const;

        /**
        * Chime警告音同步至仪表
        * @param value sdb::SoundVolLvl
        */
        void setSoundVolLvlSet(sdb::SoundVolLvl value) const;

        /**
        * 人脸识别成功状态同步至仪表
        * @param value sdb::OnOff1
        */
        void setFaceRecIndcrFromDHU(uint8_t onoff1) const;

        /**
        * 蓝牙联系人封面数据
        * @param value BTCallCoverSync
        */
        void setBTCallCoverSync(BTCallCoverSync value) const;

        /**
        * 同步CSD主题类型至仪表
        * @param value sdb::HmiThemeStyle
        */
        void setHmiThemeStyleSync(sdb::HmiThemeStyle value) const;

        /**
        * 超速报警触发车速值
        * @param value sdb::None
        */
        void setOverSpeedAlarmInfo(uint8_t none) const;

        /**
        * IVI侧控制信号，迎宾灯声音开关
        * @param value sdb::MusicSet
        */
        void setPwrSldgDoorStrgMusicSet(sdb::MusicSet value) const;

        /**
        * IVI侧控制信号，迎宾灯声音类型
        * @param value sdb::MusicTpeReq
        */
        void setPwrSldgDoorStrgMusicTpeReq(sdb::MusicTpeReq value) const;

        /**
        * 仪表投屏请求指令
        * 如：导航地图投屏，视频播放投屏
        * @param value SeScrShrCmd
        */
        void setSeScrShrCmd(SeScrShrCmd value) const;

        /**
        * DMM状态发给仪表
        * @param value sdb::SnsrDrvrPfmncSts
        */
        void setSnsrDrvrPfmncStsToDim(uint8_t snsrdrvrpfmncsts) const;

        /**
        * IVI同步预约充电开始时间到DIM
        * @param value ResChrgStrTiSync
        */
        void setResChrgStrTiSync(ResChrgStrTiSync value) const;

        /**
        * IVI同步无线充电遗留提醒
        * @param value sdb::WarningSts
        */
        void setWirelsDevLostWarnSts(sdb::WarningSts value) const;

        /**
        * 情景模式下CP亮度设置
        * @param value sdb::SeScrShrBriSts
        */
        void setSeScrShrBriSts(sdb::SeScrShrBriSts value) const;

        /**
        * AVAS开关同步至CP
        * @param value sdb::AvasVolSwitch
        */
        void setAvasVolSwitchToDim(sdb::AvasVolSwitch value) const;

        /**
        * 时光引擎状态同步至仪表
        * @param value AutoTimeEngineSync
        */
        void setAutoTimeEngineSync(AutoTimeEngineSync value) const;

        /**
        * HUD开关请求
        * @param value sdb::OnOff1
        */
        void setHudDispActvReq(uint8_t onoff1) const;

        /**
        * 雪地模式开关请求
        * @param value sdb::OnOff1
        */
        void setHudSnowModeReq(uint8_t onoff1) const;

        /**
        * AR HUD开关
        * @param value sdb::OnOff1
        */
        void setSetHUDARSwitch(uint8_t onoff1) const;

        /**
        * 3.2.13 [SW_FC_013_005]恢复出厂设置
        * @param value GlbRstForSetgAndData
        */
        void setGlbRstForSetgAndData(GlbRstForSetgAndData value) const;

        /**
        * 3.2.50 [SW_FC_505_064]Drift mode status telltale漂移模式telltale
        * @param value sdb::OnOff1
        */
        void setDriftModOnOff(uint8_t onoff1) const;

        /**
        * HUD视图模式：AR、地图、ADAS
        * @param value sdb::HudPrefInfoSet
        */
        void setHudPrefInfoSet(sdb::HudPrefInfoSet value) const;

        /**
        * 仪表导航相关信息同步，透传protobuff协议数据
        * @param value DimNaviInfoSync
        */
        void setDimNaviInfoSync(std::vector<uint8_t> value) const;

        /**
        * 仪表蓝牙电话相关信息同步，透传protobuff协议数据
        * @param value DimBTCallInfoSync
        */
        void setDimBTCallInfoSync(std::vector<uint8_t> value) const;

        /**
        * 仪表多媒体相关信息同步，透传protobuff协议数据
        * @param value DimMediaInfoSync
        */
        void setDimMediaInfoSync(std::vector<uint8_t> value) const;

        /**
        * Ap通知CP TimeSync模块
        * Ap侧启动状态
        * @param value sdb::ApStatus
        */
        void setStatus2CpTimeSync(sdb::ApStatus value) const;

        /**
        * Ap向Cp同步时间信息，时间戳，时间格式等
        * @param value TimeSync
        */
        void setTimeSync(TimeSync value) const;

        /**
        * Ap通知CP AVAS模块
        * Ap侧启动状态
        * @param value sdb::ApStatus
        */
        void setStatus2CpAVAS(sdb::ApStatus value) const;

        /**
        * AVAS开关同步至CP
        * @param value sdb::AvasVolSwitch
        */
        void setAvasVolSwitch(sdb::AvasVolSwitch value) const;

        /**
        * AVAS声音类型同步至CP
        * @param value sdb::AvasVolType
        */
        void setAvasVolTypeSync(sdb::AvasVolType value) const;

        /**
        * AVAS诊断接口:Ap设置诊断类型
        * @param value sdb::AvasDigReq
        */
        void setAvasDiagnosisReq(sdb::AvasDigReq value) const;

        /**
        * Ap通知CP HostInfo模块
        * Ap侧启动状态
        * @param value sdb::ApStatus
        */
        void setStatus2CpHostInfo(sdb::ApStatus value) const;

        /**
        * 发送版本信息
        * @param value SendDIDD0D0
        */
        void setSendDIDD0D0(SendDIDD0D0 value) const;

        /**
        * 发送BSSID信息
        * @param value SendDIDD0D1
        */
        void setSendDIDD0D1(SendDIDD0D1 value) const;

        /**
        * 发送Secure Audit Log信息
        * @param value SendDIDC012
        */
        void setSendDIDC012(SendDIDC012 value) const;

        /**
        * 发送Client Configuration Version信息
        * @param value SendDIDD089
        */
        void setSendDIDD089(SendDIDD089 value) const;

        /**
        * 发送Ota Assignment Exist Status信息
        * @param value SendDIDD07F
        */
        void setSendDIDD07F(SendDIDD07F value) const;

        /**
        * Ap通知CP Power模块
        * Ap侧启动和resume完成
        * @param value sdb::ApStatus
        */
        void setStatus2CpPower(sdb::ApStatus value) const;

        /**
        * Ap通知CP 切换游戏模式
        * @param value sdb::None
        */
        void setGameStartRequest(uint8_t none) const;

        /**
        * CP Normal模块通知AP
        * Ap侧根据状态，返回全部接口
        * 可填入独立请求Opcode，AP侧接收返回
        * @param value sdb::CpStatus
        */
        sdb::CpStatus getCpNormalStatus() const;

        /**
        * 总里程信息
        * @param value OdoInfo
        */
        OdoInfo getOdoInfo() const;

        /**
        * trip1行驶里程信息(小计行驶里程)
        * @param value Trip1Mileage
        */
        Trip1Mileage getTrip1Mileage() const;

        /**
        * trip1能量消耗数据，暂未实现
        * @param value Trip1EgyUse
        */
        Trip1EgyUse getTrip1EgyUse() const;

        /**
        * trip1能量回收数据，暂未实现
        * @param value Trip1EgyRec
        */
        Trip1EgyRec getTrip1EgyRec() const;

        /**
        * trip1平均速度数据(小计平均车速)
        * @param value Trip1AVS
        */
        Trip1AVS getTrip1AVS() const;

        /**
        * trip1行驶时长数据(小计行驶时间)
        * @param value Trip1EDT
        */
        Trip1EDT getTrip1EDT() const;

        /**
        * trip2行驶里程信息(自启动后行驶里程)
        * @param value Trip2Mileage
        */
        Trip2Mileage getTrip2Mileage() const;

        /**
        * trip2能量消耗数据，暂未实现
        * @param value Trip2EgyUse
        */
        Trip2EgyUse getTrip2EgyUse() const;

        /**
        * trip2能量回收数据，暂未实现
        * @param value Trip2EgyRec
        */
        Trip2EgyRec getTrip2EgyRec() const;

        /**
        * trip2平均速度数据(自启动后平均车速)
        * @param value Trip2AVS
        */
        Trip2AVS getTrip2AVS() const;

        /**
        * trip2行驶时长数据(自启动后行驶时长)
        * @param value Trip2EDT
        */
        Trip2EDT getTrip2EDT() const;

        /**
        * 左前轮胎胎压
        * @param value LeFrntTireMsgPSync
        */
        LeFrntTireMsgPSync getLeFrntTireMsgPSync() const;

        /**
        * 右前轮胎胎压
        * @param value RiFrntTireMsgPSync
        */
        RiFrntTireMsgPSync getRiFrntTireMsgPSync() const;

        /**
        * 左后轮胎胎压
        * @param value LeReTireMsgPSync
        */
        LeReTireMsgPSync getLeReTireMsgPSync() const;

        /**
        * 右后轮胎胎压
        * @param value RiReTireMsgPSync
        */
        RiReTireMsgPSync getRiReTireMsgPSync() const;

        /**
        * 左前轮胎温度
        * @param value LeFrntTireMsgTSync
        */
        LeFrntTireMsgTSync getLeFrntTireMsgTSync() const;

        /**
        * 右前轮胎温度
        * @param value RiFrntTireMsgTSync
        */
        RiFrntTireMsgTSync getRiFrntTireMsgTSync() const;

        /**
        * 左后轮胎温度
        * @param value LeReTireMsgTSync
        */
        LeReTireMsgTSync getLeReTireMsgTSync() const;

        /**
        * 右后轮胎温度
        * @param value RiReTireMsgTSync
        */
        RiReTireMsgTSync getRiReTireMsgTSync() const;

        /**
        * 左前轮胎车轮状态
        * @param value LeFrntTireSymbolSync
        */
        LeFrntTireSymbolSync getLeFrntTireSymbolSync() const;

        /**
        * 右前轮胎车轮状态
        * @param value RiFrntTireSymbolSync
        */
        RiFrntTireSymbolSync getRiFrntTireSymbolSync() const;

        /**
        * 左后轮胎车轮状态
        * @param value LeReTireSymbolSync
        */
        LeReTireSymbolSync getLeReTireSymbolSync() const;

        /**
        * 右后轮胎车轮状态
        * @param value RiReTireSymbolSync
        */
        RiReTireSymbolSync getRiReTireSymbolSync() const;

        /**
        * (KeyEventAdas.AdasHardKeyTop)
        * @param value sdb::WheelKeyEvent
        */
        sdb::WheelKeyEvent getAdasHardKeyTop() const;

        /**
        * (KeyEventAdas.AdasHardKeyBottom)
        * @param value sdb::WheelKeyEvent
        */
        sdb::WheelKeyEvent getAdasHardKeyBottom() const;

        /**
        * (KeyEventAdas.AdasHardKeyLeft)
        * @param value sdb::WheelKeyEvent
        */
        sdb::WheelKeyEvent getAdasHardKeyLeft() const;

        /**
        * (KeyEventAdas.AdasHardKeyRight)
        * @param value sdb::WheelKeyEvent
        */
        sdb::WheelKeyEvent getAdasHardKeyRight() const;

        /**
        * (KeyEventAdas.AdasHardKeyConfirm)
        * @param value sdb::WheelKeyEvent
        */
        sdb::WheelKeyEvent getAdasHardKeyConfirm() const;

        /**
        * (KeyEventAdas.AdasHardKeyResume)
        * @param value sdb::WheelKeyEvent
        */
        sdb::WheelKeyEvent getAdasHardKeyResume() const;

        /**
        * (KeyEventAdas.AdasHardKeyCancel)
        * @param value sdb::WheelKeyEvent
        */
        sdb::WheelKeyEvent getAdasHardKeyCancel() const;

        /**
        * (KeyEventUser.HardKeyTop)
        * @param value sdb::WheelKeyEvent
        */
        sdb::WheelKeyEvent getHardKeyTop() const;

        /**
        * (KeyEventUser.HardKeyBottom)
        * @param value sdb::WheelKeyEvent
        */
        sdb::WheelKeyEvent getHardKeyBottom() const;

        /**
        * (KeyEventUser.HardKeyLeft)
        * @param value sdb::WheelKeyEvent
        */
        sdb::WheelKeyEvent getHardKeyLeft() const;

        /**
        * (KeyEventUser.HardKeyRight)
        * @param value sdb::WheelKeyEvent
        */
        sdb::WheelKeyEvent getHardKeyRight() const;

        /**
        * (KeyEventUser.HardKeyConfirm)
        * @param value sdb::WheelKeyEvent
        */
        sdb::WheelKeyEvent getHardKeyConfirm() const;

        /**
        * (KeyEventUser.HardKeyVR)
        * @param value sdb::WheelKeyEvent
        */
        sdb::WheelKeyEvent getHardKeyVR() const;

        /**
        * (KeyEventUser.HardKeyCustom)
        * @param value sdb::WheelKeyEvent
        */
        sdb::WheelKeyEvent getHardKeyCustom() const;

        /**
        * (KeyEventUser.HardKeyMenu)
        * @param value sdb::WheelKeyEvent
        */
        sdb::WheelKeyEvent getHardKeyMenu() const;

        /**
        * (KeyEventUser.HardKeyMute)
        * @param value sdb::WheelKeyEvent
        */
        sdb::WheelKeyEvent getHardKeyMute() const;

        /**
        * 获取仪表方控控制权状态
        * @param value sdb::WheelKeyModeStatus
        */
        sdb::WheelKeyModeStatus getWheelKeyModeSync() const;

        /**
        * 纯电续航里程信息
        * @param value DTEChrgInfo
        */
        DTEChrgInfo getDTEChrgInfo() const;

        /**
        * 显示车速信息
        * @param value VehSpdIndcdInfo
        */
        VehSpdIndcdInfo getVehSpdIndcdInfo() const;

        /**
        * 纯油续航里程信息
        * @param value DTEFuelInfo
        */
        DTEFuelInfo getDTEFuelInfo() const;

        /**
        * Chime警告音仪表反馈
        * @param value sdb::SoundVolLvl
        */
        sdb::SoundVolLvl getSoundVolLvl() const;

        /**
        * CP debug log同步至android
        * @param value CPLogSync
        */
        CPLogSync getCPLogSync() const;

        /**
        * 总可行驶里程(纯油 + 纯电)
        * @param value DTEInfo
        */
        DTEInfo getDTEInfo() const;

        /**
        * 当前剩余电量百分比数据 (值为0-100)
        * @param value ChrgRemainPercent
        */
        ChrgRemainPercent getChrgRemainPercent() const;

        /**
        * 当前剩余油量百分比 (值为0 - 100）
        * @param value sdb::None
        */
        int32_t getFuelRemainPercent() const;

        /**
        * 行程1平均油耗(小计平均油耗)
        * @param value Trip1AFC
        */
        Trip1AFC getTrip1AFC() const;

        /**
        * 行程1平均电耗(小计平均电耗)
        * @param value Trip1AEC
        */
        Trip1AEC getTrip1AEC() const;

        /**
        * 行程2平均油耗(自启动后平均油耗)
        * @param value Trip2AFC
        */
        Trip2AFC getTrip2AFC() const;

        /**
        * 行程2平均电耗(自启动后平均电耗)
        * @param value Trip2AEC
        */
        Trip2AEC getTrip2AEC() const;

        /**
        * 仪表投屏状态回复
        * @param value sdb::SeScrShrRpsStsEnum
        */
        sdb::SeScrShrRpsStsEnum getSeScrShrRps() const;

        /**
        * ICC/ACC开启状态
        * @param value sdb::ACCICCStsEnum
        */
        sdb::ACCICCStsEnum getACCICCSts() const;

        /**
        * 仪表当前视图
        * @param value sdb::DIMViewType
        */
        sdb::DIMViewType getDIMViewSts() const;

        /**
        * 每200M电量消耗数据,单位wh
        * 实际值=data
        * @param value sdb::None
        */
        int32_t getODO200mElcUse() const;

        /**
        * 每200M油量消耗数据,单位ml
        * @param value sdb::None
        */
        int32_t getODO200mFueUse() const;

        /**
        * 激活导航菜单开关
        * 疲劳提醒，仪表操作弹窗结果
        * OK时导航去服务区，取消时无动作
        * @param value sdb::OnOff1
        */
        int32_t getNavActvMenuReqSync() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_Timegap
        */
        AD_Timegap getAD_Timegap() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_AdjustTimeGap
        */
        AD_AdjustTimeGap getAD_AdjustTimeGap() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_LongitudinalStatus_Lamp
        */
        AD_LongitudinalStatus_Lamp getAD_LongitudinalStatus_Lamp() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_Longitudina_AdjustSetSpeed
        */
        AD_Longitudina_AdjustSetSpeed getAD_Longitudina_AdjustSetSpeed() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_AdasTTPa
        */
        AD_AdasTTPa getAD_AdasTTPa() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_ADAS_TSI
        */
        AD_PA_ADAS_TSI getAD_PA_ADAS_TSI() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_MovObject_N
        */
        AD_PA_MovObject_N getAD_PA_MovObject_N() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_StaObject_N
        */
        AD_PA_StaObject_N getAD_PA_StaObject_N() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_ADAS_Line
        */
        AD_PA_ADAS_Line getAD_PA_ADAS_Line() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_ADAS_Line_Func
        */
        AD_PA_ADAS_Line_Func getAD_PA_ADAS_Line_Func() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_ADAS_FCTA
        */
        AD_PA_ADAS_FCTA getAD_PA_ADAS_FCTA() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_ADAS_RCW
        */
        AD_PA_ADAS_RCW getAD_PA_ADAS_RCW() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_StopLine
        */
        AD_PA_StopLine getAD_PA_StopLine() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_CrossWalkDisp
        */
        AD_PA_CrossWalkDisp getAD_PA_CrossWalkDisp() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_ADAS_Arrow
        */
        AD_PA_ADAS_Arrow getAD_PA_ADAS_Arrow() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_ADAS_LineRamp
        */
        AD_PA_ADAS_LineRamp getAD_PA_ADAS_LineRamp() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_TLA_LAMP
        */
        AD_PA_TLA_LAMP getAD_PA_TLA_LAMP() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_ADAS_DOW
        */
        AD_PA_ADAS_DOW getAD_PA_ADAS_DOW() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_BoundaryWarn
        */
        AD_PA_BoundaryWarn getAD_PA_BoundaryWarn() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_LCAleft_animation
        */
        AD_PA_LCAleft_animation getAD_PA_LCAleft_animation() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_LCAright_animation
        */
        AD_PA_LCAright_animation getAD_PA_LCAright_animation() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_LaneChangeDisp
        */
        AD_PA_LaneChangeDisp getAD_PA_LaneChangeDisp() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_VehiclePathDisp
        */
        AD_PA_VehiclePathDisp getAD_PA_VehiclePathDisp() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_G_pilot_DIMLightDisp
        */
        AD_PA_G_pilot_DIMLightDisp getAD_PA_G_pilot_DIMLightDisp() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_SC_Override
        */
        AD_PA_SC_Override getAD_PA_SC_Override() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_LateralOffsetDisp
        */
        AD_PA_LateralOffsetDisp getAD_PA_LateralOffsetDisp() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_ADAS_Tunnel
        */
        AD_PA_ADAS_Tunnel getAD_PA_ADAS_Tunnel() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_TLA_LeftLAMP
        */
        AD_PA_TLA_LeftLAMP getAD_PA_TLA_LeftLAMP() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_TLA_RightLAMP
        */
        AD_PA_TLA_RightLAMP getAD_PA_TLA_RightLAMP() const;

        /**
        * 仪表提供Adas结构体数据
        * @param value AD_PA_VehiclePathDisp_Func
        */
        AD_PA_VehiclePathDisp_Func getAD_PA_VehiclePathDisp_Func() const;

        /**
        * 整车保养信息数据
        * @param value MaintainInfoSync
        */
        MaintainInfoSync getMaintainInfoSync() const;

        /**
        * 仪表故障分区报警
        * @param value FaultAlarmNofitfy
        */
        FaultAlarmNofitfy getFaultAlarmNofitfy() const;

        /**
        * HUD开关状态反馈
        * @param value sdb::OnOff1
        */
        int32_t getHudActvStatus() const;

        /**
        * 雪地模式开关状态反馈
        * @param value sdb::OnOff1
        */
        int32_t getHudSnowModeSts() const;

        /**
        * trip3行驶里程信息( 自加油/自充电后行驶里程)
        * @param value Trip3Mileage
        */
        Trip3Mileage getTrip3Mileage() const;

        /**
        * trip3平均速度数据( 自加油/自充电后平均速度)
        * @param value Trip3AVS
        */
        Trip3AVS getTrip3AVS() const;

        /**
        * trip3行驶时长数据( 自加油/自充电后行驶时长)
        * @param value Trip3EDT
        */
        Trip3EDT getTrip3EDT() const;

        /**
        * trip3平均油耗 (自加油/自充电平均油耗)
        * @param value Trip3AFC
        */
        Trip3AFC getTrip3AFC() const;

        /**
        * trip3平均电耗 (自加油/自充电平均电耗)
        * @param value Trip3AEC
        */
        Trip3AEC getTrip3AEC() const;

        /**
        * 总平均电耗
        * @param value Trip0AEC
        */
        Trip0AEC getTrip0AEC() const;

        /**
        * 瞬时电耗
        * @param value TripIEC
        */
        TripIEC getTripIEC() const;

        /**
        * 续航里程反馈信号
        * @param value sdb::DispTypOfElecDstToEmptyStatus
        */
        sdb::DispTypOfElecDstToEmptyStatus getDispTypOfElecDstToEmpty() const;

        /**
        * CP TimeSync模块通知AP
        * Ap侧根据状态，重发模块全部接口
        * @param value sdb::CpStatus
        */
        sdb::CpStatus getCpTimeSyncStatus() const;

        /**
        * CP AVAS模块通知AP
        * Ap侧根据状态，重发模块全部接口
        * @param value sdb::CpStatus
        */
        sdb::CpStatus getCpAVASStatus() const;

        /**
        * AVAS诊断接口:Cp回复当前诊断类型
        * @param value sdb::AvasDigSts
        */
        sdb::AvasDigSts getAvasDiagnosisSts() const;

        /**
        * CP通知AP
        * CSD T值百分比(0-100)
        * @param value sdb::None
        */
        int32_t getCSDTvalue() const;

        /**
        * 获取版本信息
        * @param value DIDD0D0
        */
        DIDD0D0 getDIDD0D0() const;

        /**
        * 获取BSSID信息
        * @param value DIDD0D1
        */
        DIDD0D1 getDIDD0D1() const;

        /**
        * 获取Client Configuration Version信息
        * @param value DIDD089
        */
        DIDD089 getDIDD089() const;

        /**
        * 获取安全访问密钥
        * @param value DIDC006
        */
        DIDC006 getDIDC006() const;

        /**
        * 获取Ota Assignment Exist Status信息
        * @param value DIDD07F
        */
        DIDD07F getDIDD07F() const;

        /**
        * CP通知AP电源状态
        * 0：关机
        * 1：休眠
        * @param value sdb::None
        */
        int32_t getStatusRequest2Ap() const;


       };
    
    }
    